Process Switches and Branch Prediction Accuracy
نویسندگان
چکیده
There were several hypotheses that motivated this research project. First, we proposed that running multiple processes pollutes the history in branch predictors due to aliasing. This pollution decreases accuracy. Second, we argued that branch prediction accuracy can be improved over existing techniques by removing this aliasing. Specifically, the history table can be partitioned to allow each process, or a subset of the most frequently executed processes, to have their own history. This project successfully shows that aliasing in the branch predictor history does occur due to multiple processes executing, and quantifies the frequency of that problem. The accuracy of existing predictors can be improved, and adding separate history tables is an effective method of removing the aliasing problem. Specifically, a prediction improvement of 0.5 – 3% can be obtained through this technique, and this improvement is always in addition to any prediction algorithm that suffers from aliasing. The actual accuracy penalty due to aliasing is much higher than this improvement would seem to suggest. The relative infrequency of process switches, however, and the short time of approximately 2000 branches to “repair” the destructive aliasing in the branch history table after a process switch, both combine to significantly limit the potential for improvement via this technique. When the hardware overhead of multiple history tables is taken into account, this technique is not recommended for generalpurpose applications
منابع مشابه
The E ect of Process Switches on Branch PredictionAccuracyT
Recent superscalar processors that use deep pipelines and wide issue rates, highly depend on eecient branch prediction to obtain a large amount of instruction-level parallelism. Much work has been carried out in this area and the outcome of branches is very predictable. Mostly, su-perscalar processors are used in a multiprogram-ming environment to obtain higher throughput. In this paper, we ana...
متن کاملImproving Branch Prediction Accuracy in Embedded Processors in the Presence of Context Switches
Embedded processors like Intel’s XScale use dynamic branch prediction to improve performance. Due to the presence of context switches, the accuracy of these predictors is reduced because they end up storing prediction histories for several processes. This paper shows that the loss in accuracy can be significant and depends on predictor type and size. Several new schemes are proposed to save and...
متن کاملOPTS: increasing branch prediction accuracy under context switch
Accurate branch prediction is essential for obtaining high performance in pipelined superscalar processors. Though many dynamic branch predictors have been proposed to obtain high prediction accuracy, they cannot perform as expected under context switches. It is observed that context switches, even at fairly large intervals, can seriously degrade the performance of dynamic branch predictors. In...
متن کاملPredicting Indirect Branches via Data Compression
Branch prediction is a key mechanism used to achieve high performance on multiple issue, deeply pipelined processors. By predicting the branch outcome at the instruction fetch stage of the pipeline, superscalar processors are better able to exploit Instruction Level Parallelism (ILP) by providing a larger window of instructions. However, when a branch is mispredicted, instructions from the misp...
متن کاملA Novel Meta Predictor Design for Hybrid Branch Prediction
Recent systems have been paved the way for being high-performance due to the super-pipelining, dynamic scheduling and superscalar processor technologies. The performance of the system is greatly affected by the accuracy of the branch prediction because the overhead of each misprediction has grown due to greater number of instructions per cycle and the deepened pipeline. Hybrid branch prediction...
متن کامل